#pragma once
#ifndef CARDIMAGE_H
#define CARDIMAGE_H
#include "Card.h"

namespace SHGame {
	using namespace System;
	using namespace System::Collections::Generic;
	using namespace System::Drawing;

	public ref class CardImage
	{
	public:
		static const String^ LOCOLOR_PATH = "cards/locolor/";
		static const String^ HICOLOR_PATH = "cards/hicolor/";
		static Dictionary<String^, Image^>^ map = gcnew Dictionary<String^, Image^>();

	public:
		// 71 x 96
		static const int DEFAULT_HEIGHT = 96;
		static const int DEFAULT_WIDTH = 71;

		static int getSuitNum(Card^ c);
		static int getFaceNum(Card^ c);
		static String^ getFileName(Card ^c);
		static Image^ loadImage(String^ file);
		static Image^ getImage(Card^ c);
		static Image^ getImage(Card^, bool);

	public:
		property bool selected;
		property Card^ card;

		CardImage(Card^ c) {
			this->selected = false;
			this->card = c;
		};

		Image^ getImage();


	};
}

#endif